﻿using MgSoft.K3Cloud.WebApi.Common.Dto.Property;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text;

namespace MgSoft.K3Cloud.WebApi.Common.Dto.Sal
{
    /// <summary>
    /// 发货通知单
    /// </summary>
    /// <typeparam name="Type_Sal_DeliveryNotice_FEntity"></typeparam>
    public class Sal_DeliveryNoticeSaveInputDto<
        Type_Sal_DeliveryNotice_FEntity>
        where Type_Sal_DeliveryNotice_FEntity : Sal_DeliveryNotice_FEntity
    {
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public long? FID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FBillTypeID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FBillNo { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public DateTime? FDate { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FSaleOrgId { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FCustomerID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FSaleDeptID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FHeadDeliveryWay { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FCorrespondOrgId { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FCarrierID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FCarriageNO { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FNote { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FDeliveryOrgID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FDeliveryDeptID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FStockerGroupID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FStockerID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FSaleGroupID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FSalesManID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FReceiverID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FHeadLocId { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNameProperty FReceiverContactID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FReceiveAddress { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FSettleID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FPayerID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FRECEIPTCONDITIONID { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FOwnerTypeIdHead { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public FNumberProperty FOwnerIdHead { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public string FPlanRecAddress { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public Sal_DeliveryNotice_SubHeadEntity SubHeadEntity { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public List<Sal_DeliveryNotice_FEntity> FEntity { get; set; }
        [JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
        public List<FNameProperty> FDeliNoticeTrace { get; set; }

    }

    public class Sal_DeliveryNoticeSaveInputDto : Sal_DeliveryNoticeSaveInputDto<Sal_DeliveryNotice_FEntity>
    {

    }
}
